﻿#define _CRT_SECURE_NO_WARNINGS 1

// 实现⼀个类，计算程序中创建出了多少个类对象？
#include<iostream>
using namespace std;
class A
{
public:
	A()//默认构造
	{
		++_scount;
	}
	A(const A& t)//拷贝构造
	{
		++_scount;
	}
	~A()//析构
	{
		--_scount;
	}
	static int GetACount()
	{
		return _scount;
	}
private:
	// 类里面声明
	static int _scount;
};
// 类外面初始化
int A::_scount = 0;

int main()
{
	cout << A::GetACount() << endl;//0
	A a1, a2;
	A a3(a1);
	cout << A::GetACount() << endl;//3
	cout << a1.GetACount() << endl;//3

	// 编译报错：error C2248: “A::_scount”: 无法访问 private 成员(在“A”类中声明，受A类的影响)
	//cout << A::_scount << endl;
	return 0;
}
